package com.southminority.ethnic.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.util.StringUtils;

import java.math.BigDecimal;

/**
 * 地图位置配置创建请求VO
 * 
 * @author SouthMinority
 */
@Data
@Schema(description = "地图位置配置创建请求")
public class MapLocationConfigCreateReq {

    /**
     * 位置名称
     */
    @NotBlank(message = "位置名称不能为空")
    @Schema(description = "位置名称", example = "gzmu_lab", required = true)
    private String name;

    /**
     * 位置标题
     */
    @NotBlank(message = "位置标题不能为空")
    @Schema(description = "位置标题", example = "南方少数民族语言信息化实验室", required = true)
    private String title;

    /**
     * 位置描述
     */
    @Schema(description = "位置描述", example = "贵州民族大学花溪校区文科楼510室")
    private String description;

    /**
     * 经度
     */
    @NotNull(message = "经度不能为空")
    @Schema(description = "经度", example = "106.6280000", required = true)
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @NotNull(message = "纬度不能为空")
    @Schema(description = "纬度", example = "26.3820000", required = true)
    private BigDecimal latitude;

    /**
     * 地图缩放级别
     */
    @Schema(description = "地图缩放级别", example = "16")
    private Integer zoomLevel = 16;

    /**
     * 地图俯仰角度
     */
    @Schema(description = "地图俯仰角度", example = "30")
    private Integer pitch = 30;

    /**
     * 标记图标URL
     */
    @Schema(description = "标记图标URL", example = "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png")
    private String markerIcon;

    /**
     * 信息窗体内容（HTML格式）
     */
    @Schema(description = "信息窗体内容（HTML格式）")
    private String infoWindowContent;

    /**
     * 是否默认位置：1-是，0-否
     */
    @Schema(description = "是否默认位置", example = "0")
    private Integer isDefault = 0;

    /**
     * 是否启用：1-启用，0-禁用
     */
    @Schema(description = "是否启用", example = "1")
    private Integer isActive = 1;

    /**
     * 排序
     */
    @Schema(description = "排序", example = "1")
    private Integer sortOrder = 1;

    /**
     * 关联机构ID
     */
    @Schema(description = "关联机构ID", example = "1")
    private Long organizationId;
} 